---
title: Çekirdek
description: Ultracite'in çerçeveden bağımsız lint kurallarını içeren temel yapılandırması.
---

Core Ultracite yapılandırması, çerçeveden bağımsız kapsamlı bir lint kuralları ve biçimlendirme ayarları seti sağlar. Bu, diğer tüm çerçeveye özgü yapılandırmaların genişlettiği temel yapılandırmadır.

## Kurulum

Core yapılandırma şu komutu çalıştırdığınızda otomatik olarak dahil edilir:

```bash
npx ultracite init
```

Veya elle `biome.jsonc` dosyanıza ekleyin:

```jsonc title="biome.jsonc"
{
  "extends": ["ultracite/core"]
}
```

## Genel Bakış

Core yapılandırma, yüzlerce katı lint kuralını kapsar:

- **Erişilebilirlik (a11y)**: ARIA özniteliklerini, semantik HTML'i ve klavye navigasyonunu zorunlu kılar
- **Karmaşıklık**: Bilişsel karmaşıklığı azaltır ve en iyi uygulamaları uygular
- **Doğruluk**: Yaygın hataları önler ve tür güvenliğini zorunlu kılar
- **Performans**: Çalışma zamanı performansını optimize eder
- **Güvenlik**: Güvenlik açıklarını önler
- **Stil**: Tutarlı kod stilini zorunlu kılar
- **Şüpheli**: Hata işaretleyebilecek şüpheli desenleri yakalar

## Biçimlendirici Ayarları

- **Girintileme**: 2 boşluk
- **Satır Genişliği**: 80 karakter
- **Satır Sonu**: LF (Unix tarzı)
- **Noktalı Virgüller**: Her zaman gerekli
- **Tırnaklar**: JavaScript/TypeScript ve JSON için çift tırnak
- **Sondaki Virgüller**: ES5 tarzı (çok satırlı diziler/nesneler)
- **Ok Parantezleri**: Parantezler her zaman dahil edilir

## Ana Özellikler

### TypeScript Katılığı

Core yapılandırma, TypeScript'in katı denetimlerini etkinleştirir:

- `any` kullanımını caydırır (`noExplicitAny: error`)
- `null/undefined` ile başa çıkılmasını gerektirir
- Bazı durumlarda açık türleri tercih eder
- Kod tabanı genelinde tür güvenliğini zorunlu kılar

### ESLint Önerilen Eşdeğerleri

Yaygın en iyi uygulama kuralları dahildir:

- Kullanılmayan değişken yok (`noUnusedVariables: error`)
- Kullanılmayan import yok (`noUnusedImports: error`)
- Açık eval yok (`noGlobalEval: error`)
- Prototype kirliliği yok (`noPrototypeBuiltins: error`)

### Varsayılan Olarak Erişilebilirlik

Erişilebilirlik standartlerine eşdeğer kurallar:

- ARIA öznitelikleri geçerli olmalıdır
- Semantik HTML öğeleri tercih edilir
- Klavye navigasyon desteği gereklidir
- Resimler için alt metin zorunludur

### Node.js Desteği

Ortam özelinde işleme:

- Node.js global değişkenlerini tanır (`module`, `process`)
- Dahili modüller için `node:` protokolünü zorunlu kılar
- Hem CommonJS hem de ESM'i destekler

## Tam Kural Referansı

### Erişilebilirlik (a11y)

| Rule | Setting | Description |
|------|---------|-------------|
| `noAccessKey` | `error` | Herhangi bir HTML öğesinde `accessKey` özniteliğinin kullanılmamasını zorunlu kılar. |
| `noAriaHiddenOnFocusable` | `error` | Odaklanılabilir öğelerde `aria-hidden="true"` kullanılmamasını zorunlu kılar. |
| `noAriaUnsupportedElements` | `error` | ARIA rolleri, durumları ve özelliklerini desteklemeyen öğelerin bu özniteliklere sahip olmamasını zorunlu kılar. |
| `noAutofocus` | `off` | `autoFocus` prop'unun öğelerde kullanılmamasını zorunlu kılar. |
| `noDistractingElements` | `error` | Dikkat dağıtan öğelerin kullanılmamasını zorunlu kılar. |
| `noHeaderScope` | `error` | `scope` prop'unun yalnızca `<th>` öğelerinde kullanılmasını zorunlu kılar. |
| `noInteractiveElementToNoninteractiveRole` | `error` | Etkileşimli HTML öğelerine etkileşimli olmayan ARIA rolleri atanmasını engeller. |
| `noLabelWithoutControl` | `error` | Bir label öğesi veya bileşenin bir metin etiketi ve ilişkili bir input'a sahip olmasını zorunlu kılar. |
| `noNoninteractiveElementInteractions` | `error` | Etkileşimli olmayan öğelerde olay işleyicileri kullanımını yasaklar. |
| `noNoninteractiveElementToInteractiveRole` | `error` | Etkileşimli ARIA rollerinin etkileşimli olmayan HTML öğelerine atanmasını engeller. |
| `noNoninteractiveTabindex` | `error` | Etkileşimli olmayan HTML öğelerine `tabIndex` atanmasını engeller. |
| `noPositiveTabindex` | `error` | `tabIndex` özelliğinde pozitif tam sayı kullanımını engeller. |
| `noRedundantAlt` | `error` | `img` alt prop'unun `image`, `picture` veya `photo` kelimelerini içermemesini zorunlu kılar. |
| `noRedundantRoles` | `error` | Açıkça belirtilen role property'sinin bir öğenin dolaylı/varsayılan rolüyle aynı olmamasını zorunlu kılar. |
| `noStaticElementInteractions` | `error` | Tıklama işleyicisi olan statik, görünür öğelerin (ör. `<div>`) geçerli `role` özniteliğini kullanmasını zorunlu kılar. |
| `noSvgWithoutTitle` | `error` | `svg` öğesi için `title` öğesinin kullanılmasını zorunlu kılar. |
| `useAltText` | `error` | Alternatif metne ihtiyaç duyan tüm öğelerin kullanıcıya anlamlı bilgi iletmesini zorunlu kılar. |
| `useAnchorContent` | `error` | Anchor'ların içerik sahibi olmasını ve içeriğin ekran okuyucular tarafından erişilebilir olmasını zorunlu kılar. |
| `useAriaActivedescendantWithTabindex` | `error` | `aria-activedescendant` ile birlikte olmayan etkileşimli olmayan HTML öğelerine `tabIndex` atanmasını zorunlu kılar. |
| `useAriaPropsForRole` | `error` | ARIA rolleri olan öğelerin o rol için gerekli tüm ARIA özniteliklerine sahip olmasını zorunlu kılar. |
| `useAriaPropsSupportedByRole` | `error` | ARIA özelliklerinin, öğenin desteklediği rollere uygun olmasını zorunlu kılar. |
| `useButtonType` | `error` | `button` öğesi için `type` özniteliğinin kullanılmasını zorunlu kılar. |
| `useFocusableInteractive` | `error` | Etkileşimli role ve etkileşim işleyicilerine sahip öğelerin odaklanabilir olmasını zorunlu kılar. |
| `useHeadingContent` | `error` | Başlık öğelerinin (`h1`, `h2`, vb.) içerik sahibi olmasını ve içeriğin ekran okuyucular tarafından erişilebilir olmasını zorunlu kılar. |
| `useHtmlLang` | `error` | `html` öğesinin `lang` özniteliğine sahip olmasını zorunlu kılar. |
| `useIframeTitle` | `error` | `iframe` öğesi için `title` özniteliğinin kullanılmasını zorunlu kılar. |
| `useKeyWithClickEvents` | `error` | `onClick` olayının en azından şu olaylardan biriyle birlikte olmasını zorunlu kılar: `onKeyUp`, `onKeyDown`, `onKeyPress`. |
| `useKeyWithMouseEvents` | `error` | `onMouseOver` / `onMouseOut` olaylarının `onFocus` / `onBlur` ile birlikte olmasını zorunlu kılar. |
| `useMediaCaption` | `error` | Ses ve video öğelerinin altyazı için bir track içermesini zorunlu kılar. |
| `useSemanticElements` | `error` | JSX öğelerinde `role` özniteliklerinin kullanımını tespit eder ve semantik öğelerin kullanılmasını önerir. |
| `useValidAnchor` | `error` | Tüm anchor'ların geçerli ve gezinilebilir öğeler olmasını zorunlu kılar. |
| `useValidAriaProps` | `error` | `aria-*` ARIA özelliklerinin tümünün geçerli olmasını sağlar. |
| `useValidAriaRole` | `error` | ARIA rolleri olan öğelerin geçerli, soyut olmayan bir ARIA rolü kullanmasını zorunlu kılar. |
| `useValidAriaValues` | `error` | ARIA durum ve özellik değerlerinin geçerli olmasını zorunlu kılar. |
| `useValidAutocomplete` | `error` | Input öğelerinin autocomplete özniteliğinde geçerli değerlerin kullanılmasını zorunlu kılar. |
| `useValidLang` | `error` | `lang` özniteliğine geçirilen değerin doğru bir ISO dil ve/veya ülke kodu olmasını sağlar. |
| `useGenericFontNames` | `error` | Yazı ailelerinde (CSS) genel familya anahtar kelimesinin eksik olmasını yasaklar. |

### Karmaşıklık

| Rule | Setting | Description |
|------|---------|-------------|
| `noAdjacentSpacesInRegex` | `error` | Düzenli ifade literal'lerinde ardışık boşluk karakterlerinin belirsiz kullanımını yasaklar. |
| `noArguments` | `error` | `arguments` kullanımını yasaklar. |
| `noBannedTypes` | `error` | İlkel tür alias'larını ve yanıltıcı türleri yasaklar. |
| `noCommaOperator` | `error` | Virgül operatörünün kullanılmasını yasaklar. |
| `noEmptyTypeParameters` | `error` | Tür alias'larında ve arayüzlerde boş tür parametrelerini yasaklar. |
| `noExcessiveCognitiveComplexity` | `error` | Belirlenen Bilişsel Karmaşıklık skorunu aşan fonksiyonları yasaklar. |
| `noExcessiveLinesPerFunction` | `off` | Bir fonksiyondaki kod satırı sayısını kısıtlar. |
| `noExcessiveNestedTestSuites` | `error` | Test dosyalarında iç içe `describe()` derinliğine maksimum sınır uygular. |
| `noExtraBooleanCast` | `error` | Gereksiz boolean dönüşümlerini yasaklar. |
| `noFlatMapIdentity` | `error` | `flatMap` içinde gereksiz callback kullanımını yasaklar. |
| `noForEach` | `error` | `Array.forEach` yerine `for...of` ifadesini tercih eder. |
| `noImplicitCoercions` | `off` | Kısa yazım tür dönüşümlerini yasaklar. |
| `noImportantStyles` | `off` | `!important` stilinin (CSS) kullanılmasını yasaklar. |
| `noStaticOnlyClass` | `error` | Bir sınıfın hiçbir statik olmayan üyesi yoksa bunu raporlar. |
| `noThisInStatic` | `error` | Statik bağlamlarda `this` ve `super` kullanımını yasaklar. |
| `noUselessCatch` | `error` | Gereksiz catch bloklarını yasaklar. |
| `noUselessConstructor` | `error` | Gereksiz constructor kullanımını yasaklar. |
| `noUselessContinue` | `error` | Gereksiz `continue` kullanımından kaçınılmasını sağlar. |
| `noUselessEmptyExport` | `error` | Modül dosyasında hiçbir şey değiştirmeyen boş export'ları yasaklar. |
| `noUselessEscapeInRegex` | `error` | Düzenli ifade literal'lerinde gereksiz escape dizilerini yasaklar. |
| `noUselessFragments` | `error` | Gereksiz fragment kullanımını yasaklar. |
| `noUselessLabel` | `error` | Gereksiz label kullanımını yasaklar. |
| `noUselessLoneBlockStatements` | `error` | Gereksiz iç içe blok ifadelerini yasaklar. |
| `noUselessRename` | `error` | Import, export ve yapılandırılmış atamalarda aynı ada yeniden adlandırmayı yasaklar. |
| `noUselessStringConcat` | `error` | String veya template literal'ların gereksiz birleştirilmesini yasaklar. |
| `noUselessStringRaw` | `error` | Kaçış dizisi içermeyen template string literal'larda gereksiz `String.raw` kullanımını yasaklar. |
| `noUselessSwitchCase` | `error` | Switch ifadelerindeki gereksiz case'leri yasaklar. |
| `noUselessTernary` | `error` | Daha basit alternatifler varken ternary operatörlerinin kullanılmasını yasaklar. |
| `noUselessThisAlias` | `error` | Gereksiz `this` aliaslamasını yasaklar. |
| `noUselessTypeConstraint` | `error` | Tür kısıtlaması olarak `any` veya `unknown` kullanımını yasaklar. |
| `noUselessUndefinedInitialization` | `error` | Değişkenlerin `undefined` ile başlatılmasını yasaklar. |
| `noVoid` | `error` | Yaygın olmayan bir operatör olan `void` operatörünün kullanılmasını yasaklar. |
| `useArrowFunction` | `error` | Fonksiyon ifadeleri yerine ok (arrow) fonksiyonları kullanmayı zorunlu kılar. |
| `useDateNow` | `error` | Unix Epoch'tan bu yana geçen milisaniyeyi almak için `Date.now()` kullanılmasını zorunlu kılar. |
| `useFlatMap` | `error` | `map().flat()` birlikte kullanıldığında `.flatMap()` kullanımını teşvik eder. |
| `useIndexOf` | `error` | Bir öğenin indeksini ararken `Array#{indexOf,lastIndexOf}()` kullanımını, `Array#{findIndex,findLastIndex}()` yerine tercih eder. |
| `useLiteralKeys` | `error` | Hesaplanmış özellik erişimi yerine sabit (literal) özellik erişiminin kullanılmasını zorunlu kılar. |
| `useNumericLiterals` | `error` | `parseInt()` ve `Number.parseInt()` yerine ikili, sekizli ve onaltılık literal'lerin kullanılmasını tercih eder. |
| `useOptionalChain` | `error` | Zincirlenmiş mantıksal ifadeler yerine kısa optional chain kullanımını zorunlu kılar. |
| `useRegexLiterals` | `error` | Mümkünse `RegExp` constructor yerine düzenli ifade literal'larının kullanılmasını zorunlu kılar. |
| `useSimpleNumberKeys` | `error` | Base 10 olmayan veya alt çizgi ayıracı kullanan sayı literal'ı nesne üye isimlerini yasaklar. |
| `useSimplifiedLogicExpression` | `error` | Mantıksal ifadelerden gereksiz terimleri çıkarır. |
| `useWhile` | `error` | Başlatıcı ve güncelleme ifadelerinin gerekmediği durumlarda `for` yerine `while` döngülerinin kullanılmasını zorunlu kılar. |

### Doğruluk

| Rule | Setting | Description |
|------|---------|-------------|
| `noConstAssign` | `error` | `const` değişkenlerinin yeniden atanmaması gerektiğini sağlar. |
| `noConstantCondition` | `error` | Koşullarda sabit ifadelerin kullanılmasını yasaklar. |
| `noConstantMathMinMaxClamp` | `error` | Sonucun kendisi sabit olduğu durumlarda bir değeri sınırlamak için `Math.min` ve `Math.max` kullanılmasını yasaklar. |
| `noConstructorReturn` | `error` | Constructor'dan değer döndürülmesini yasaklar. |
| `noEmptyCharacterClassInRegex` | `error` | Düzenli ifade literal'lerinde boş karakter sınıflarını yasaklar. |
| `noEmptyPattern` | `error` | Boş yapılandırma (destructuring) pattern'lerini yasaklar. |
| `noGlobalDirnameFilename` | `error` | Global kapsamda `__dirname` ve `__filename` kullanımını yasaklar. |
| `noGlobalObjectCalls` | `error` | Global nesne özelliklerinin fonksiyon olarak çağrılmasını yasaklar. |
| `noInnerDeclarations` | `error` | Bloğun dışında erişilebilir olan fonksiyon ve `var` deklarasyonlarını yasaklar. |
| `noInvalidBuiltinInstantiation` | `error` | Yerleşik nesnelerin doğru şekilde örneklendiğinden emin olur. |
| `noInvalidConstructorSuper` | `error` | Sınıflarda `super()`'ün yanlış kullanımını engeller. |
| `noInvalidDirectionInLinearGradient` | `error` | Linear gradient fonksiyonları için standart dışı yön değerlerini yasaklar (CSS). |
| `noInvalidGridAreas` | `error` | CSS Grid Layout'larda geçersiz isimlendirilmiş grid alanlarını yasaklar (CSS). |
| `noInvalidPositionAtImportRule` | `error` | `@import` at-kuralının geçersiz pozisyonlarda kullanılmasını yasaklar (CSS). |
| `noInvalidUseBeforeDeclaration` | `error` | Değişkenlerin ve fonksiyon parametrelerinin deklarasyonundan önce kullanılmasını yasaklar. |
| `noMissingVarFunction` | `error` | CSS değişkenleri için eksik `var` fonksiyonunu yasaklar (CSS). |
| `noNodejsModules` | `off` | Node.js yerleşik modüllerinin kullanımını yasaklar. |
| `noNonoctalDecimalEscape` | `error` | String literal'lerinde `\8` ve `\9` escape dizilerini yasaklar. |
| `noPrecisionLoss` | `error` | Hassasiyet kaybı olan literal sayıların kullanılmasını yasaklar. |
| `noPrivateImports` | `off` | Özel export'ların import edilmesini kısıtlar. |
| `noProcessGlobal` | `off` | `process` global'inin kullanılmasını yasaklar. |
| `noRestrictedElements` | `error` | Yapılandırılmış öğelerin kullanımını yasaklar. |
| `noSelfAssign` | `error` | Her iki tarafı tam olarak aynı olan atamaları yasaklar. |
| `noSetterReturn` | `error` | Setter'dan değer döndürülmesini yasaklar. |
| `noStringCaseMismatch` | `error` | String durumunu değiştiren ifadelerin uyumsuz değerlerle karşılaştırılmasını yasaklar. |
| `noSwitchDeclarations` | `error` | Switch kısımlarında leksikal deklarasyonları yasaklar. |
| `noUndeclaredDependencies` | `off` | `package.json`'da belirtilmemiş bağımlılıkların kullanılmasını yasaklar. |
| `noUndeclaredVariables` | `error` | Doküman içinde deklarasyonu olmayan değişkenlerin kullanılmasını engeller. |
| `noUnknownFunction` | `error` | Bilinmeyen CSS değer fonksiyonlarını yasaklar (CSS). |
| `noUnknownMediaFeatureName` | `error` | Bilinmeyen medya özelliği isimlerini yasaklar (CSS). |
| `noUnknownProperty` | `error` | Bilinmeyen özellikleri yasaklar (CSS). |
| `noUnknownPseudoClass` | `error` | Bilinmeyen pseudo-class seçicilerini yasaklar (CSS). |
| `noUnknownPseudoElement` | `error` | Bilinmeyen pseudo-element seçicilerini yasaklar (CSS). |
| `noUnknownTypeSelector` | `error` | Bilinmeyen tip seçicilerini yasaklar (CSS). |
| `noUnknownUnit` | `error` | Bilinmeyen CSS birimlerini yasaklar (CSS). |
| `noUnmatchableAnbSelector` | `error` | Eşleşmeyen An+B seçicilerini yasaklar (CSS). |
| `noUnreachable` | `error` | Ulaşılamaz kodu yasaklar. |
| `noUnreachableSuper` | `error` | Bir sınıf constructor'ında `super()`'ün her kod yolunda tam olarak bir kez çağrıldığından emin olur. |
| `noUnsafeFinally` | `error` | Finally bloklarında kontrol akışı ifadelerini yasaklar. |
| `noUnsafeOptionalChaining` | `error` | Undefined değerin izin verilmediği bağlamlarda optional chaining kullanımını yasaklar. |
| `noUnusedFunctionParameters` | `error` | Kullanılmayan fonksiyon parametrelerini yasaklar. |
| `noUnusedImports` | `error` (safe fix override) | Kullanılmayan import'ları yasaklar. |
| `noUnusedLabels` | `error` | Kullanılmayan label'ları yasaklar. |
| `noUnusedPrivateClassMembers` | `error` | Kullanılmayan özel sınıf üyelerini yasaklar. |
| `noUnusedVariables` | `error` | Kullanılmayan değişkenleri yasaklar. |
| `noVoidTypeReturn` | `error` | Dönüş türü `void` olan bir fonksiyondan değer döndürülmesini yasaklar. |
| `useGraphqlNamedOperations` | `error` | GraphQL operasyonlarının adlandırılmasını zorunlu kılar. |
| `useImageSize` | `error` | `<img>` öğelerinin hem genişlik hem de yükseklik özniteliklerine sahip olmasını zorunlu kılar. |
| `useImportExtensions` | `off` | Göreli import'lar için dosya uzantılarını zorunlu kılar. |
| `useIsNan` | `error` | NaN kontrolü yaparken `isNaN()` çağrısını gerektirir. |
| `useJsonImportAttributes` | `off` | JSON modül import'ları için `{ type: "json" }` kullanımını zorunlu kılar. |
| `useParseIntRadix` | `error` | `parseInt()` kullanılırken radix argümanının tutarlı kullanılmasını zorunlu kılar. |
| `useSingleJsDocAsterisk` | `error` | JSDoc yorum satırlarının (ilk satır hariç) tek bir yıldızla başlamasını zorunlu kılar. |
| `useUniqueElementIds` | `off` | Öğelerde sabit string literal id özniteliği kullanımını engeller. |
| `useValidForDirection` | `error` | `for` döngüsü güncelleme ifadesinin sayacı doğru yönde hareket ettirmesini zorunlu kılar. |
| `useValidTypeof` | `error` | `typeof` ifadesinin sonucunun geçerli bir değerle karşılaştırıldığını kontrol eder. |
| `useYield` | `error` | Jeneratör fonksiyonlarının `yield` içermesini zorunlu kılar. |

### Deneysel

| Rule | Setting | Description |
|------|---------|-------------|
| `noContinue` | `off` | `continue` ifadelerini yasaklar. |
| `noDeprecatedImports` | `off` | Kullanımdan kaldırılmış export'ların import edilmesini kısıtlar. |
| `noDuplicateDependencies` | `error` | Yinelenen bağımlılıkların listelenmesini engeller. |
| `noDuplicatedSpreadProps` | `error` | Spread props içinde yinelenen özellikleri yasaklar. |
| `noEmptySource` | `error` | Boş kaynak dosyalarını yasaklar. |
| `noEqualsToNull` | `error` | `null` ile karşılaştırmak için `==` veya `!=` kullanımını yasaklar. Bunun yerine `===` veya `!==` kullanın. |
| `noFloatingPromises` | `off` | Promise-benzeri ifadelerin uygun şekilde ele alınmasını gerektirir. |
| `noForIn` | `off` | `for-in` döngüsü ile yinelemeyi yasaklar. |
| `noImportCycles` | `off` | Import döngülerini önler. |
| `noIncrementDecrement` | `error` | `++` ve `--` operatörlerinin kullanımını yasaklar (for döngüsü afterthought'ları hariç). |
| `noJsxLiterals` | `off` | JSX öğeleri içinde string literal kullanımını yasaklar. |
| `noLeakedRender` | `error` | JSX'te problemli sızdırılmış değerlerin (ör. 0 veya NaN) render edilmesini önler. |
| `noMisusedPromises` | `off` | Promise'lerin neredeyse kesinlikle hata olacağı yerlerde kullanılmasını yasaklar. |
| `noMultiStr` | `error` | Backslash devamıyla çok satırlı string kullanımını yasaklar. |
| `noParametersOnlyUsedInRecursion` | `error` | Yalnızca özyinelemeli çağrılarda kullanılan parametreleri yasaklar. |
| `noProto` | `error` | `__proto__` özelliğinin kullanımını yasaklar. |
| `noShadow` | `error` | Dış kapsamda deklar edilmiş değişkenlerin gölgelenmesini yasaklar. |
| `noSyncScripts` | `error` | Senkron script kullanımını engeller. |
| `noTernary` | `off` | Ternary operatörlerini yasaklar. |
| `noUnnecessaryConditions` | `off` | Statik olarak gereksiz olduğu belirlenebilen tip tabanlı gereksiz koşulları yasaklar. |
| `noUnresolvedImports` | `off` | Var olmayan export'ları import ederken uyarı verir. |
| `noUnusedExpressions` | `error` | Ne bir fonksiyon çağrısı ne de atama olan ifade ifadelerini yasaklar. |
| `noUselessCatchBinding` | `off` | Kullanılmayan `catch` bağlamlarını yasaklar. |
| `noUselessUndefined` | `error` | Gereksiz `undefined` kullanımını yasaklar. |
| `useArraySortCompare` | `off` | `Array.prototype.sort()` içinde karşılaştırma fonksiyonunun kullanılmasını zorunlu kılar. |
| `useConsistentArrowReturn` | `error` | Ok (arrow) fonksiyon gövdelerinde tutarlı dönüşleri zorunlu kılar. |
| `useConsistentGraphqlDescriptions` | `error` | GraphQL dosyalarında tüm açıklamaların aynı stilde (blok veya inline) olmasını gerektirir. |
| `useDeprecatedDate` | `error` | `@deprecated` direktifi kullanıldığında bir silinme tarihinin belirtilmesini gerektirir. |
| `useExhaustiveSwitchCases` | `off` | Switch-case ifadelerinin kapsamlı (exhaustive) olmasını gerektirir. |
| `useExplicitType` | `off` | Fonksiyonlarda, metodlarda, değişkenlerde ve parametrelerde türlerin zorunlu olmasını sağlar. |
| `useFind` | `error` | Tek bir sonuç ararken `Array.prototype.filter()` sonrası `[0]` yerine `Array.prototype.find()` kullanılmasını zorunlu kılar. |
| `useMaxParams` | `error` | Fonksiyon tanımlarında maksimum parametre sayısını zorunlu kılar. |
| `useSortedClasses` | `error` (safe fix override) | CSS yardımcı sınıflarının sıralanmasını zorunlu kılar. |
| `useSpread` | `error` | `Function.prototype.apply()` yerine spread operatörünün kullanılmasını zorunlu kılar. |
| `useUniqueGraphqlOperationName` | `error` | Bir doküman içindeki tüm GraphQL operasyonlarının benzersiz isimlere sahip olmasını sağlar. |

### Performans

| Rule | Setting | Description |
|------|---------|-------------|
| `noAccumulatingSpread` | `error` | Birikimlerde spread (`...`) sözdiziminin kullanılmasını yasaklar. |
| `noAwaitInLoops` | `off` | Döngüler içinde `await` kullanımını yasaklar. |
| `noBarrelFile` | `error` | Barrel dosyası kullanımını yasaklar. |
| `noDelete` | `error` | `delete` operatörünün kullanılmasını yasaklar. |
| `noDynamicNamespaceImportAccess` | `error` | Namespace import'larına dinamik erişimi yasaklar. |
| `noNamespaceImport` | `error` | Namespace import kullanımını yasaklar. |
| `noReExportAll` | `off` | Tümünü yeniden export etme işleminden kaçınır. |
| `noUnwantedPolyfillio` | `error` | Polyfill.io'dan yinelenen polyfill'leri önler. |
| `useGoogleFontPreconnect` | `error` | Google Fonts kullanıldığında `preconnect` özniteliğinin kullanılmasını zorunlu kılar. |
| `useTopLevelRegex` | `error` | Düzenli ifade literal'lerinin üst düzeyde tanımlanmasını gerektirir. |

### Güvenlik

| Rule | Setting | Description |
|------|---------|-------------|
| `noBlankTarget` | `error` | `rel="noopener"` olmadan `target="_blank"` kullanımını yasaklar. |
| `noDangerouslySetInnerHtml` | `error` | Tehlikeli JSX prop'larının kullanılmasını önler. |
| `noDangerouslySetInnerHtmlWithChildren` | `error` | Hem children hem de `dangerouslySetInnerHTML` prop'u kullanan DOM elementi veya bileşen raporlanır. |
| `noGlobalEval` | `error` | Global `eval()` kullanımını yasaklar. |

### Stil

| Rule | Setting | Description |
|------|---------|-------------|
| `noCommonJs` | `off` | ESM tarzı import'lar lehine Common JS modül sisteminin kullanımını yasaklar. |
| `noDefaultExport` | `off` | Default export'ları yasaklar. |
| `noDoneCallback` | `error` | Asenkron testlerde ve hook'larda callback kullanımını yasaklar. |
| `noEnum` | `error` | TypeScript enum kullanımını yasaklar. |
| `noExportedImports` | `error` | Import edilmiş bir değişkenin export edilmesini yasaklar. |
| `noImplicitBoolean` | `off` | JSX boolean özniteliğinde örtük true değerlerini yasaklar. |
| `noInferrableTypes` | `error` | Literal ifadeyle başlatılan değişkenler, parametreler ve sınıf özellikleri için tür anotasyonlarını yasaklar. |
| `noMagicNumbers` | `off` | "Magic numbers" kullanımını raporlar — doğrudan kullanılan sayılar yerine isimlendirilmiş sabitler kullanılmalıdır. |
| `noNamespace` | `error` | TypeScript namespace kullanımını yasaklar. |
| `noNegationElse` | `error` | Eğer bir if ifadesinin else bloğu varsa, koşulda negasyon kullanılmasını yasaklar. |
| `noNestedTernary` | `error` | İç içe ternary ifadelerini yasaklar. |
| `noNonNullAssertion` | `error` | `!` son ek operatörü ile yapılan non-null assertion kullanımını yasaklar. |
| `noParameterAssign` | `error` | Fonksiyon parametrelerinin yeniden atanmasını yasaklar. |
| `noParameterProperties` | `error` | Sınıf constructor'larında parametre property'lerinin kullanılmasını yasaklar. |
| `noProcessEnv` | `off` | `process.env` kullanımını yasaklar. |
| `noRestrictedGlobals` | `error` | Uygulamanızda kullanılmasını istemediğiniz global değişken isimlerini belirtmenizi sağlar. |
| `noRestrictedImports` | `error` | Import veya require ile yüklenen belirli modülleri yasaklar. |
| `noRestrictedTypes` | `error` | Kullanıcı tanımlı türleri yasaklar. |
| `noShoutyConstants` | `error` | Değeri adının büyük harfli versiyonu olan sabitlerin kullanılmasını yasaklar. |
| `noSubstr` | `error` | `String.substr()` ve `String.substring()` yerine `String.slice()` kullanımını zorunlu kılar. |
| `noUnusedTemplateLiteral` | `error` | Interpolasyon ve özel karakter işlemi gerekmiyorsa template literal kullanımını yasaklar. |
| `noUselessElse` | `error` | If bloğu erken kırıyorsa else bloğunu yasaklar. |
| `noYodaExpression` | `error` | Yoda ifadelerinin kullanılmasını yasaklar. |
| `useArrayLiterals` | `error` | `Array` constructor'larını yasaklar. |
| `useAsConstAssertion` | `error` | Literal tür ve tür anotasyonu yerine `as const` kullanımını zorunlu kılar. |
| `useAtIndex` | `error` | Tamsayı indeks erişimi yerine `at()` kullanımını zorunlu kılar. |
| `useBlockStatements` | `error` | Süslü parantez konvansiyonlarına uyulmasını zorunlu kılar. |
| `useCollapsedElseIf` | `error` | `else` bloklarındaki iç içe `if` yerine `else if` kullanımını zorunlu kılar. |
| `useCollapsedIf` | `error` | İç içe `if` blokları yerine tek `if` kullanımını zorunlu kılar. |
| `useComponentExportOnlyModules` | `off` | Sadece React Bileşenleri dışa aktaran modüllerde bileşenlerin tanımlanmasını zorunlu kılar. |
| `useConsistentArrayType` | `error` | `T[]` veya `Array<T>` kullanımında tutarlılığı zorunlu kılar. |
| `useConsistentBuiltinInstantiation` | `error` | `String`, `Number` ve `Boolean` hariç tüm yerleşiklerin `new` ile örneklendirilmesini zorunlu kılar. |
| `useConsistentCurlyBraces` | `off` | JSX öznitelikleri ve JSX çocukları içinde süslü parantezlerin tutarlı kullanımını zorunlu kılar. |
| `useConsistentMemberAccessibility` | `error` | Sınıf özellikleri ve metodlarında erişilebilirlik belirteçlerinin tutarlı olmasını zorunlu kılar. |
| `useConsistentObjectDefinitions` | `error` | Nesne literal deklarasyonlarının tutarlı olmasını zorunlu kılar. |
| `useConst` | `error` | Sadece bir kez atanan değişkenler için `const` deklarasyonunu zorunlu kılar. |
| `useDefaultParameterLast` | `error` | Varsayılan fonksiyon parametreleri ve isteğe bağlı parametrelerin son sırada olmasını zorunlu kılar. |
| `useDefaultSwitchClause` | `error` | Switch ifadelerinde `default` kısmının bulunmasını zorunlu kılar. |
| `useDeprecatedReason` | `error` | `@deprecated` direktifi kullanıldığında neden argümanının belirtilmesini zorunlu kılar. |
| `useEnumInitializers` | `error` | Her enum üyesinin değerinin açıkça başlatılmasını zorunlu kılar. |
| `useExplicitLengthCheck` | `off` | Bir değerin `length`, `size`, `byteLength` veya `byteOffset` özelliklerinin açıkça karşılaştırılmasını zorunlu kılar. |
| `useExponentiationOperator` | `error` | `Math.pow` yerine `**` operatörünün kullanılmasını zorunlu kılar. |
| `useExportType` | `error` | Türler için `export type` kullanımını teşvik eder. |
| `useExportsLast` | `off` | Tüm export'ların tüm export olmayan ifadelerden sonra bildirilmesini zorunlu kılar. |
| `useFilenamingConvention` | `error` | JavaScript ve TypeScript dosya adlandırma kurallarını (kebab-case, ASCII) zorunlu kılar. |
| `useForOf` | `error` | For döngüsünde, yinelemeli diziden bir öğe almak için kullanılan indeks varsa for-of döngüsünü önerir. |
| `useFragmentSyntax` | `error` | `<>...</>` kullanımını `<Fragment>...</Fragment>` yerine zorunlu kılar. |
| `useGraphqlNamingConvention` | `error` | Tüm enum değerlerinin büyük harfle başladığını doğrular. |
| `useGroupedAccessorPairs` | `error` | Aynı özellik için getter ve setter'ların sınıf ve nesne tanımlarında bitişik olmasını zorunlu kılar. |
| `useImportType` | `error` | Türler için `import type` kullanımını teşvik eder. |
| `useLiteralEnumMembers` | `error` | Tüm enum üyelerinin literal değerler olmasını zorunlu kılar. |
| `useNamingConvention` | `off` | İsimlendirme kuralı (devre dışı). |
| `useNodeAssertStrict` | `error` | `node:assert/strict` kullanımını `node:assert` yerine teşvik eder. |
| `useNodejsImportProtocol` | `error` | Node.js yerleşik modülleri için `node:` protokolünün kullanılmasını zorunlu kılar. |
| `useNumberNamespace` | `error` | Global yerine `Number` özelliklerinin kullanılmasını zorunlu kılar. |
| `useNumericSeparators` | `error` | Sayısal literal'larda sayı ayırıcılarının kullanılmasını zorunlu kılar. |
| `useObjectSpread` | `error` | Yeni nesne oluştururken `Object.assign()` yerine obje spread kullanımını tercih eder. |
| `useReadonlyClassProperties` | `error` | Yapılandırıcı dışındaki yerlerde hiç değiştirilmemiş üyelerin `readonly` olarak işaretlenmesini zorunlu kılar. |
| `useSelfClosingElements` | `error` | Çocuğu olmayan bileşenler için gereksiz kapanış etiketlerini önler. |
| `useShorthandAssign` | `error` | Mümkün olduğunda atama operatörü kısaltmasını zorunlu kılar. |
| `useShorthandFunctionType` | `error` | Çağrı imzalarına sahip nesne tipi yerine fonksiyon tipi kullanılmasını zorunlu kılar. |
| `useSingleVarDeclarator` | `off` | Aynı değişken bildirimi içinde birden çok değişken bildirimini yasaklar. |
| `useSymbolDescription` | `error` | `Symbol()` için bir açıklama parametresi gerektirir. |
| `useTemplate` | `error` | String birleştirme yerine template literal kullanımını tercih eder. |
| `useThrowNewError` | `error` | Hata fırlatırken `new` kullanılmasını zorunlu kılar. |
| `useThrowOnlyError` | `error` | `Error` olmayan değerlerin fırlatılmasını yasaklar. |
| `useTrimStartEnd` | `error` | `String.trimLeft()` ve `String.trimRight()` yerine `String.trimStart()` ve `String.trimEnd()` kullanımını zorunlu kılar. |
| `useUnifiedTypeSignatures` | `error` | Tek bir imzaya birleştirilebilen overload imzalarını yasaklar. |
| `noDescendingSpecificity` | `error` | Yüksek özgüllüğe sahip seçiciden sonra daha düşük özgüllüğe sahip seçicinin gelmesini yasaklar (CSS). |
| `noValueAtRule` | `error` | CSS modüllerinde `@value` kuralının kullanımını yasaklar (CSS). |

### Şüpheli

| Rule | Setting | Description |
|------|---------|-------------|
| `noAlert` | `error` | `alert`, `confirm` ve `prompt` kullanımını yasaklar. |
| `noApproximativeNumericConstant` | `error` | Yaklaşık literal'lar yerine standart sabitleri kullanmayı zorunlu kılar. |
| `noAssignInExpressions` | `error` | İfadelerde atamaları yasaklar. |
| `noAsyncPromiseExecutor` | `error` | Promise yürütücüsü olarak async fonksiyon kullanılmasını yasaklar. |
| `noBiomeFirstException` | `error` | Konfigürasyon dosyasındaki `files.includes` içinde `!` deseninin ilk konumda kullanılmasını engeller. |
| `noBitwiseOperators` | `error` | Bit düzeyindeki operatörleri yasaklar. |
| `noCatchAssign` | `error` | Catch bloklarında istisnaların yeniden atanmasını yasaklar. |
| `noClassAssign` | `error` | Sınıf üyelerinin yeniden atanmasını yasaklar. |
| `noCommentText` | `error` | Yorumların metin düğümü olarak eklenmesini engeller. |
| `noCompareNegZero` | `error` | `-0` ile karşılaştırmayı yasaklar. |
| `noConfusingLabels` | `error` | Döngü olmayan labeled ifadeleri yasaklar. |
| `noConfusingVoidType` | `error` | Void türünün generic veya dönüş türleri dışında kullanılmasını yasaklar. |
| `noConsole` | `off` | `console` kullanımını yasaklar. |
| `noConstEnum` | `error` | TypeScript const enum kullanımını yasaklar. |
| `noConstantBinaryExpressions` | `error` | İşlemin değeri etkilemediği ifadeleri yasaklar. |
| `noControlCharactersInRegex` | `error` | Düzenli ifade literal'lerinde kontrol karakterleri ve bazı escape dizilerinin kullanımını engeller. |
| `noDebugger` | `error` | `debugger` kullanımını yasaklar. |
| `noDocumentCookie` | `error` | `document.cookie`'ye doğrudan atamaları yasaklar. |
| `noDoubleEquals` | `error` | `===` ve `!==` kullanımını gerektirir. |
| `noDuplicateAtImportRules` | `error` | Yinelenen `@import` kurallarını yasaklar (CSS). |
| `noDuplicateCase` | `error` | Yinelenen case etiketlerini yasaklar. |
| `noDuplicateClassMembers` | `error` | Yinelenen sınıf üyelerini yasaklar. |
| `noDuplicateCustomProperties` | `error` | Deklarasyon blokları içinde yinelenen özel özellikleri yasaklar (CSS). |
| `noDuplicateElseIf` | `error` | If-else-if zincirlerinde yinelenen koşulları yasaklar. |
| `noDuplicateFields` | `error` | GraphQL operasyonlarında yinelenen alanları yasaklar. |
| `noDuplicateFontNames` | `error` | Yazı aileleri içinde yinelenen isimleri yasaklar (CSS). |
| `noDuplicateObjectKeys` | `error` | Nesneler içinde aynı isimli iki anahtarın bulunmasını yasaklar. |
| `noDuplicateParameters` | `error` | Fonksiyon parametre isimlerinin tekrarını yasaklar. |
| `noDuplicateProperties` | `error` | Deklarasyon blokları içinde yinelenen özellikleri yasaklar (CSS). |
| `noDuplicateSelectorsKeyframeBlock` | `error` | Keyframe blokları içinde yinelenen seçicileri yasaklar (CSS). |
| `noDuplicateTestHooks` | `error` | Bir describe bloğu içinde tekrar eden hook'ların bulunmamasını sağlar. |
| `noEmptyBlock` | `error` | CSS boş bloklarını yasaklar (CSS). |
| `noEmptyBlockStatements` | `error` | Boş blok ifadelerini ve statik blokları yasaklar. |
| `noEmptyInterface` | `error` | Boş arayüz deklarasyonlarını yasaklar. |
| `noEvolvingTypes` | `error` | Yeniden atamalar yoluyla türlerin `any`'e dönüşmesini yasaklar. |
| `noExplicitAny` | `error` | `any` türü kullanımını yasaklar. |
| `noExportsInTest` | `error` | Test içeren dosyalarda export veya module.exports kullanımını yasaklar. |
| `noExtraNonNullAssertion` | `error` | TypeScript dosyalarında non-null assertion operatörü `!`'ın yanlış kullanımını engeller. |
| `noFallthroughSwitchClause` | `error` | Switch kısımlarında fallthrough'u yasaklar. |
| `noFocusedTests` | `error` | Odaklanmış (focused) testleri yasaklar. |
| `noFunctionAssign` | `error` | Fonksiyon deklarasyonlarının yeniden atanmasını yasaklar. |
| `noGlobalAssign` | `error` | Yerel nesnelere ve salt okunur global değişkenlere atama yapılmasını yasaklar. |
| `noGlobalIsFinite` | `error` | Global `isFinite` yerine `Number.isFinite` kullanımını zorunlu kılar. |
| `noGlobalIsNan` | `error` | Global `isNaN` yerine `Number.isNaN` kullanımını zorunlu kılar. |
| `noImplicitAnyLet` | `error` | Değişken deklarasyonlarında örtük any tür kullanımını yasaklar. |
| `noImportAssign` | `error` | Import edilmiş bağlamlara atama yapılmasını yasaklar. |
| `noImportantInKeyframe` | `error` | Keyframe deklarasyonlarında geçersiz `!important` kullanımını yasaklar (CSS). |
| `noIrregularWhitespace` | `error` | Düzensiz boşluk karakterlerinin kullanımını yasaklar. |
| `noLabelVar` | `error` | Bir değişkenle aynı adı paylaşan label'ları yasaklar. |
| `noMisleadingCharacterClass` | `error` | Karakter sınıfı sözdiziminde birden fazla kod noktasından oluşan karakterleri yasaklar. |
| `noMisleadingInstantiator` | `error` | `new` ve `constructor` kullanımının doğru olmasını zorunlu kılar. |
| `noMisplacedAssertion` | `error` | Assertion fonksiyonunun (ör. expect) `it()` fonksiyon çağrısı içinde yer almasını kontrol eder. |
| `noMisrefactoredShorthandAssign` | `error` | Değişken her iki tarafta da görünüyorsa shorthand assign kullanımını yasaklar. |
| `noOctalEscape` | `error` | String literal'lerinde sekizlik escape dizilerini yasaklar. |
| `noPrototypeBuiltins` | `error` | `Object.prototype` builtin'lerinin doğrudan kullanımını yasaklar. |
| `noQuickfixBiome` | `error` | Editor ayar dosyasında `quickfix.biome` kullanımını yasaklar. |
| `noRedeclare` | `error` | Aynı kapsamda değişken, fonksiyon, sınıf ve tür yeniden deklarasyonlarını yasaklar. |
| `noRedundantUseStrict` | `error` | Gereksiz `use strict` kullanımını engeller. |
| `noSelfCompare` | `error` | Her iki tarafın tam olarak aynı olduğu karşılaştırmaları yasaklar. |
| `noShadowRestrictedNames` | `error` | Kısıtlı isimleri gölgeleyen tanımlayıcıları yasaklar. |
| `noShorthandPropertyOverrides` | `error` | İlgili longhand özellikleri geçersiz kılan shorthand özellikleri yasaklar (CSS). |
| `noSkippedTests` | `error` | Devre dışı bırakılmış testleri yasaklar. |
| `noSparseArray` | `error` | Delikli (holes) dizilerin kullanımını engeller. |
| `noTemplateCurlyInString` | `error` | Normal stringlerde template literal yer tutucu sözdizimini yasaklar. |
| `noThenProperty` | `error` | `then` özelliğini yasaklar. |
| `noTsIgnore` | `error` | TypeScript direktifi `@ts-ignore` kullanımını engeller. |
| `noUnassignedVariables` | `error` | Okunan fakat hiç atanmış olmayan let veya var değişkenlerini yasaklar. |
| `noUnknownAtRules` | `error` | Bilinmeyen at-kurallarını yasaklar (CSS). |
| `noUnsafeDeclarationMerging` | `error` | Arayüzler ve sınıflar arasında güvensiz deklarasyon birleştirmesini yasaklar. |
| `noUnsafeNegation` | `error` | Güvensiz negasyon (`!`) kullanımını yasaklar. |
| `noUselessEscapeInString` | `error` | String literal'lerinde gereksiz escape kullanımını yasaklar. |
| `noUselessRegexBackrefs` | `error` | Her zaman boş string ile eşleşen gereksiz geri referansları düzenli ifade literal'lerinde yasaklar. |
| `noVar` | `error` | `var` kullanımını yasaklar. |
| `noWith` | `error` | Gayri-sıkı bağlamlarda `with` ifadelerini yasaklar. |
| `useAdjacentOverloadSignatures` | `error` | Birbiri yanında olmayan overload imzalarının kullanılmasını yasaklar. |
| `useAwait` | `error` | Asenkron fonksiyonların `await` kullanmasını sağlar. |
| `useBiomeIgnoreFolder` | `error` | Yapılandırma dosyasında klasörleri ignore etme için doğru kullanımı teşvik eder. |
| `useDefaultSwitchClauseLast` | `error` | Switch ifadelerinde default kısımlarının son olmasını zorunlu kılar. |
| `useErrorMessage` | `error` | Yerleşik bir hata oluştururken mesaj değeri geçirilmesini zorunlu kılar. |
| `useGetterReturn` | `error` | Getter metodlarının her zaman bir değer döndürmesini zorunlu kılar. |
| `useGoogleFontDisplay` | `error` | Google Fonts ile önerilen display stratejisinin kullanılmasını zorunlu kılar. |
| `useGuardForIn` | `error` | For-in döngülerinin bir `if` ifadesi içermesini zorunlu kılar. |
| `useIsArray` | `error` | `instanceof Array` yerine `Array.isArray()` kullanılmasını zorunlu kılar. |
| `useIterableCallbackReturn` | `error` | Yinelemeli callback'lerde tutarlı dönüş değerlerini zorunlu kılar. |
| `useNamespaceKeyword` | `error` | TypeScript namespace bildirimleri için `module` yerine `namespace` anahtar kelimesinin kullanılmasını zorunlu kılar. |
| `useNumberToFixedDigitsArgument` | `error` | `Number#toFixed()` ile birlikte digits argümanının kullanılmasını zorunlu kılar. |
| `useStaticResponseMethods` | `error` | Mümkün olduğunda `new Response()` constructor'ı yerine statik `Response` metodlarının kullanılmasını sağlar. |
| `useStrictMode` | `error` | Script dosyalarında `use strict` direktifinin kullanılmasını zorunlu kılar. |

## Notlar

Bazı kurallar Scanner ile çalıştırıldığında çok yavaş olduğu için devre dışıdır. [Biome docs](https://biomejs.dev/guides/investigate-slowness/#first-things-first)'da belirtildiği gibi, etkinleştirilen proje kurallarının daha gelişmiş analiz karşılığında performans yüküne neden olduğu bilinmektedir.

Testlerimizde, bu kuralların lint süresinde 300ms ile 13s arasında fark yaratabildiğini gördük.